Skip to content

ci: add build smoke and release install smoke tests - #10

Merged
steadyfall merged 4 commits into
mainfrom
ci/smoke-test
Apr 20, 2026
Merged

ci: add build smoke and release install smoke tests#10
steadyfall merged 4 commits into
mainfrom
ci/smoke-test

Conversation

@steadyfall

Copy link
Copy Markdown
Owner

Summary

CI Smoke Tests

  • Added smoke job to ci.yml — builds from source and verifies --version prints a recognizable version string, and that running with no --url exits non-zero with usage output.

Release Smoke

  • Added release-smoke.yml workflow triggered on release: published — enters a golang:1.26.2-trixie container, installs via go install github.com/steadyfall/fspeek/cmd/fspeek@<tag>, and runs the same two checks to confirm the released module is installable and functional end-to-end.

Pre-landing hardening (adversarial review)

  • github.ref_name now assigned to TAG env var before shell expansion (trust boundary fix)
  • No-URL check captures output on first invocation and greps that, avoiding redundant second run
  • Release smoke version regex no longer accepts dev — a release binary must print a real version string

Test Coverage

Diff is CI configuration only — no new application code paths to audit.

Tests: 12 test files (unchanged)

Pre-Landing Review

Pre-Landing Review: 3 auto-fixed, 1 user decision (fixed). No issues remaining.

AUTO-FIXED:

  • release-smoke.yml:15${{ github.ref_name }} directly in shell → assign to TAG env var first
  • release-smoke.yml:23, ci.yml:56 — binary invoked twice; now captures output on first run
  • release-smoke.yml:21 — removed dev| from release version regex (user decision A)

Design Review

No frontend files changed — design review skipped.

Eval Results

No prompt-related files changed — evals skipped.

Plan Completion

No plan file detected.

Verification Results

No dev server / no plan file — skipped.

TODOS

No TODO items completed in this PR.

Test plan

  • All Go tests pass (6 packages, 0 failures, -race)
  • Binary builds cleanly (go build ./cmd/fspeek)

🤖 Generated with Claude Code

steadyfall and others added 4 commits April 20, 2026 14:41
Add release-smoke.yml workflow that triggers on GitHub release publication.
Installs fspeek via go install from golang:1.26.2-trixie container,
then runs smoke tests (version format and no-url exit behavior) to validate
released versions work correctly out of the box.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@steadyfall
steadyfall merged commit 368ed19 into main Apr 20, 2026
4 checks passed
@steadyfall
steadyfall deleted the ci/smoke-test branch April 20, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant